home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
glass
/
glass.lha
/
GLASS
/
tmc
/
cal.ht
< prev
next >
Wrap
Text File
|
1990-11-06
|
4KB
|
196 lines
/*
Copyright (C) 1990 C van Reewijk, email: dutentb.uucp!reeuwijk
This file is part of GLASS.
GLASS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
GLASS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GLASS; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
.. file: cal.ht
.error Warning: 'cal' library is obsolete, use 'calu' library.
/* ---- start of ${tplfilename} ---- */
/* Definition C datastructures (Version for array list).
template file: ${tplfilename}
datastructure file: ${dsfilename}
tm version: $(tmvers) ($(tmdate))
*/
.foreach t $(need_ds_list)
typedef struct str_$t_list *$t_list;
.endforeach
.foreach t $(need_ds)
typedef struct str_$t *$t;
.foreach c ${conslist $t}
typedef struct str_$c *$c;
.endforeach
.endforeach
.foreach t $(need_ds)
#define $tNIL ($t)0
.endforeach
.foreach t $(need_ds_list)
#define $t_listNIL ($t_list)0
.endforeach
.foreach t $(need_ds)
.if ${len ${conslist $t}}
typedef enum en_tags_$t {
${seplist ", " ${prefix TAG ${conslist $t}}}
} tags_$t;
.endif
.endforeach
.foreach t $(need_ds)
struct str_$t {
.if ${len ${conslist $t}}
tags_$t tag;
.endif
.foreach sname ${telmlist $t}
.if ${eq list ${ttypeclass $t $(sname)}}
${ttypename $t $(sname)}_list $(sname);
.else
${ttypename $t $(sname)} $(sname);
.endif
.endforeach
};
.foreach c ${conslist $t}
struct str_$c {
tags_$t tag;
.foreach sname ${celmlist $t $c}
.if ${eq list ${ctypeclass $t $c $(sname)}}
${ctypename $t $c $(sname)}_list $(sname);
.else
${ctypename $t $c $(sname)} $(sname);
.endif
.endforeach
};
.endforeach
.endforeach
.foreach t $(need_ds_list)
struct str_$t_list {
unsigned int sz;
unsigned int room;
$t *arr;
};
.endforeach
/* new_<cons> and new_<type>routines */
.foreach t $(want_new)
.if ${len ${telmlist $t}}
extern $t new_$t();
.else
.foreach c ${conslist $t}
extern $t new_$c();
.endforeach
.endif
.endforeach
.foreach t $(want_new_list)
extern $t_list new_$t_list();
.endforeach
/* room_<type>_list() routines */
.foreach t $(want_room_list)
extern void room_$t_list();
.endforeach
/* app_<type>_list() routines */
.foreach t $(want_app_list)
extern void app_$t_list();
.endforeach
/* ins_<type>_list() routines */
.foreach t $(want_ins_list)
extern void ins_$t_list();
.endforeach
/* del_<type>_list() routines */
.foreach t $(want_del_list)
extern void del_$t_list();
.endforeach
/* conc_<type>_list() routines */
.foreach t $(want_conc_list)
extern void conc_$t_list();
.endforeach
/* fre_<type>_list() routines */
.foreach t $(want_fre_list)
extern void fre_$t_list();
.endforeach
.foreach t $(want_fre)
extern void fre_$t();
.endforeach
/* rfre_<type>_list() routines */
.foreach t $(want_rfre_list)
extern void rfre_$t_list();
.endforeach
.foreach t $(want_rfre)
extern void rfre_$t();
.endforeach
/* print_<type>() routines */
.foreach t $(want_print)
extern void print_$t();
.endforeach
.foreach t $(want_print_list)
extern void print_$t_list();
.endforeach
/* fprint_<type>() routines */
.foreach t $(want_fprint)
extern void fprint_$t();
.endforeach
.foreach t $(want_fprint_list)
extern void fprint_$t_list();
.endforeach
/* rdup_<type>() routines */
.foreach t $(want_rdup)
extern $t rdup_$t();
.endforeach
.foreach t $(want_rdup_list)
extern $t_list rdup_$t_list();
.endforeach
/* fscan_<type>() routines */
.foreach t $(want_fscan)
extern int fscan_$t();
.endforeach
.foreach t $(want_fscan_list)
extern int fscan_$t_list();
.endforeach
/* cmp_<type>() routines */
.foreach t $(want_cmp)
extern int cmp_$t();
.endforeach
.foreach t $(want_cmp_list)
extern int cmp_$t_list();
.endforeach
/* misc. functions */
.if ${index flush_$(basename) $(want_misc)}
extern void flush_$(basename)();
.endif
.if ${index stat_$(basename) $(want_misc)}
extern void stat_$(basename)();
.endif
/* ---- end of ${tplfilename} ---- */